App({
  onLaunch() {
    // 小程序启动时的相关操作
    const logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 登录操作
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      }
    })
  },

  onShow() {
    // 每秒钟检查是否到达提醒时间
    this.checkReminderInterval = setInterval(this.checkReminder.bind(this), 1000);
  },

  onHide() {
    // 当小程序进入后台时清除定时器
    if (this.checkReminderInterval) {
      clearInterval(this.checkReminderInterval);
    }
  },

  globalData: {
    userInfo: null
  },

  checkReminder() {
    const reminderInfo = wx.getStorageSync('reminderInfo');
    if (!reminderInfo) return;

    const now = Date.now();
    const nowStr = new Date(now).toLocaleString();
    const reminderStr = new Date(reminderInfo.reminderTime).toLocaleString();

    console.log("当前时间: ", nowStr);
    console.log("提醒时间: ", reminderStr);
    // 判断当前时间是否大于等于提醒时间
    if (now >= reminderInfo.reminderTime) {
      wx.showModal({
        title: '教室使用提醒',
        content: `教室：${reminderInfo.classroomNumber}\n时间：${reminderInfo.time}\n申请人：${reminderInfo.applicantName}\n请按时前往教室使用~`,
        showCancel: false
      });

      // 提醒后删除存储的提醒信息
      wx.removeStorageSync('reminderInfo');

      // 停止定时器，防止继续检查
      if (this.checkReminderInterval) {
        clearInterval(this.checkReminderInterval);
      }
    }
  }
});